package com.dragon.modules.yuegou.service.member;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.dragon.common.web.PageRequest;
import com.dragon.modules.yuegou.entity.member.PtTurntableEntity;
import com.dragon.modules.yuegou.enums.system.ApplicationType;
import com.dragon.modules.yuegou.model.member.PtTurntable;
import com.dragon.modules.yuegou.model.member.PtTurntableExtract;
import com.dragon.modules.yuegou.model.member.PtTurntableExtractPrize;
import com.dragon.modules.yuegou.model.member.PtTurntablePrizeXcx;
import com.dragon.modules.yuegou.model.member.PtTurntableXcx;
import com.dragon.modules.yuegou.model.system.Document;
import com.dragon.modules.yuegou.query.member.PtTurntableExtractPrizeQuery;
import com.dragon.modules.yuegou.query.member.PtTurntableQuery;

/**
 * 积分大转盘表 服务接口
 *
 * @author pbuilder generated
 * @version 2.0
 * @date 2021-12-16 19:20:45
 */
public interface PtTurntableService extends IService<PtTurntableEntity> {

    IPage<PtTurntable> search(PageRequest page, PtTurntableQuery query);

    void addPtTurntable(PtTurntable ptTurntable);

    void modifyPtTurntable(PtTurntable ptTurntable);

    PtTurntable getPtTurntable(String id);

    /**
     * 获取积分大转盘的页面信息
     * @param busdId
     * @param pageCode
     * @return
     */
    PtTurntableXcx getTurntableXcx(String busdId, String pageCode, ApplicationType applicationType, Boolean isXcx);

    /**
     * 积分大转盘抽奖
     */
    PtTurntablePrizeXcx extractPrize(PtTurntableExtract extract, Boolean isXcx);
    
	String generateCode(String turntableId,String busdId);

    /**
     * 大转盘数据分析
     * @param query
     * @return
     */
    IPage<PtTurntableExtractPrize> getExtractPrize(PageRequest pageInfo, PtTurntableExtractPrizeQuery query);

    Document exportExtractPrize(PtTurntableExtractPrizeQuery query);

    /**
     * 修改抽奖活动状态
     * @param ptTurntable
     */
    void modifyStatus(PtTurntable ptTurntable);
}